package com.amazonaws.services.kinesis.client;
import java.nio.ByteBuffer;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.HashSet;
import java.util.Random;
import com.amazonaws.auth.AWSCredentialsProvider;
import com.amazonaws.auth.EnvironmentVariableCredentialsProvider;
import com.amazonaws.services.kinesis.AmazonKinesisClient;
import com.amazonaws.services.kinesis.model.PutRecordRequest;
import com.amazonaws.services.kinesis.model.PutRecordResult;
public class Simulator {
static {
try {
Class.forName("org.postgresql.Driver");
}
catch (Throwable e) {
e.printStackTrace();
}
}
private static HashSet<String> users = null;
private static Connection conn = null;
private static String query;
public static void main(String[] args) throws SQLException {
java.security.Security.setProperty("networkaddress.cache.ttl" , "60");
query = System.getProperty("kinesisapp.query");
conn = DriverManager.getConnection(
System.getProperty("kinesisapp.jdbcurl"),
System.getProperty("kinesisapp.dbuser"),
System.getProperty("kinesisapp.dbpassword"));
conn.setAutoCommit(true);
AmazonKinesisClient client = new AmazonKinesisClient();
client.setEndpoint("https://kinesis.us-east-1.amazonaws.com");
String stream = "test";
int iteration = 100;
int threashold = 1000;
String data = new String("{\"user\":\"10125\",\"line\":\"aaa\",\"station\":\"bbb\",\"latitude\":35.");
Random rand = new Random();
try {
long start = System.currentTimeMillis();
String myKey = Long.toString(Thread.currentThread().getId());
for (int i = 0; i < iteration; i++) {
try {
PutRecordRequest putRecordRequest = new PutRecordRequest();
putRecordRequest.setStreamName(stream);
putRecordRequest.setData(ByteBuffer.wrap((data+Integer.toString(rand.nextInt(19)+52)+",\"longitude\":139."+Integer.toString(rand.nextInt(39)+51)+"}").getBytes()));
putRecordRequest.setPartitionKey(myKey);
PutRecordResult putRecordResult = client.putRecord(putRecordRequest);
}
catch(Exception iex) {
}
}
System.out.println("Elapsed time(ms) for task " + Thread.currentThread().getId() + " : " + (System.currentTimeMillis() - start));
} catch(Exception ex) {
ex.printStackTrace();
}
}
}